Navigation applications have been becoming increasingly popular in recent years. A navigation application may be a computer software program installed on a computing device equipped with a Global Positioning System (GPS) module. Based on signals received from GPS satellites and a map (preloaded or downloaded in real time), the navigation application may provide a location of the computing device. Since the signals from the GPS satellites may be attenuated and scattered by roofs, walls and other objects of buildings, generally the navigation application is not suitable to provide indoor navigation.
Several approaches are proposed to build indoor navigation services and most of them try to provide indoor navigation by means of accurate indoor localization. However, these approaches are heavily dependent on map information of the buildings such that the indoor location may be overlaid on the map. In absence of the map information, these approaches become useless.